#ifndef CONFIRM_FUNCTIONS_H
#define CONFIRM_FUNCTIONS_H
#include "rose.h"
#include "AnalyzeTraversal.h"
#include <string>
using namespace std;

class confirmFunctions : public AstPrePostProcessing {
    public:
        confirmFunctions(analyzeTraversal *set_all) { all_functions = NULL; n_functions = 0; all = set_all; }
        virtual void preOrderVisit(SgNode *node);
        virtual void postOrderVisit(SgNode *node);
        int addFunction(SgFunctionDeclaration *decl);
        int findFunction(string name);
        FunctionContext **getFunctions() { return all_functions; }
        int getNumFunctions() { return n_functions; }
    private:
        FunctionContext **all_functions;
        int n_functions;
        analyzeTraversal *all;
};

#endif
